package cn.iocoder.yudao.module.resource.controller.admin.interactionlog.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import jakarta.validation.constraints.*;

@Schema(description = "管理后台 - 交互日志新增/修改 Request VO")
@Data
public class InteractionLogSaveReqVO {

    @Schema(description = "日志id", requiredMode = Schema.RequiredMode.REQUIRED, example = "29620")
    private String logId;

    @Schema(description = "用户id", requiredMode = Schema.RequiredMode.REQUIRED, example = "20330")
    @NotNull(message = "用户id不能为空")
    private Long userId;

    @Schema(description = "对局id", requiredMode = Schema.RequiredMode.REQUIRED)
    private String gameMatchId;

    @Schema(description = "会话id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10121")
    @NotEmpty(message = "会话id不能为空")
    private String wsSessionId;

    @Schema(description = "日志追踪id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23420")
    @NotEmpty(message = "日志追踪id不能为空")
    private String traceId;

    @Schema(description = "内容")
    private String content;

    @Schema(description = "扩展")
    private String extension;

}